# Copyright (C) 2012-2015 Free Software Foundation, Inc.

# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  

#
# symver tests
#
proc run_error_test { name opts } {
    global srcdir subdir
    set testname "symver $name"
    set file $srcdir/$subdir/$name
    gas_run ${name}.s $opts ">&dump.out"
    if { [regexp_diff "dump.out" "${file}.l"] } then {
	fail $testname
	verbose "output is [file_contents "dump.out"]" 2
	return
    }
    pass $testname
}

# symver is only supported by ELF targets.
if { [is_elf_format] } then {

    if {[istarget "ia64-*"]} then {
      return
    }
  
    if {[istarget "hppa*64*-*-*"]} then {
      return
    }
  
    # not supported by D30V
    if {[istarget "d30v-*-*"]} {
      return
    }

    # not yet supported by i960
    if {[istarget "i960-*-*"]} {
      return
    }

    run_dump_test "symver0" 
    run_dump_test "symver1" 
    run_error_test "symver2" ""
    run_error_test "symver3" ""
    # We have to comment out symver4 and symver5, which check the
    # missing version name, since some tests in ld/testsuite/ld-elfvers
    # have no version names. We cannot flag an error for the missing
    # version name.
#    run_error_test "symver4" ""
#    run_error_test "symver5" ""
    run_error_test "symver6" ""
}
